Modificar Fuses

Contenido

Los fuses son configuraciones internas de un microcontrolador AVR

Aqui explicamos como consultar y modificar los fuses de un microcontrolador.

Descripcion

Un microcontrolador AVR tiene 3 fuses: lfuse, hfusey efuse

Cada fuse tiene una serie de configuraciones disponibles, en la siguiente web podemos calcular cual sería el valor a grabar en el fuse según las configuraciones que queramos:

https://www.engbedded.com/fusecalc/

Consultar fuses

Si queremos ver el estado de los 3 fuses lo hacemos con el siguiente comando:

avrdude -c usbasp -p m168pa -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h

Si queremos ver solo el estado de lfuse por ejemplo, lo haríamos con el comando:

avrdude -c usbasp -p m168pa -U lfuse:r:-:h

Modificar fuses

Si por ejemplo queremos desactivar el divisor entre 8 de la frecuencia del reloj lo haríamos con el siguiente comando:

avrdude -c usbasp -p m168pa -U lfuse:w:0xe2:m

El bit 0xe2 indica que se desactivará la configuración CKDIV8, el valor a grabar depende de las otras configuraciones del fuse, ya que se aplica como una mascara de bits (consultar la web de calculadora de fuses).

Para volver a activar el CKDIV8 y dejar la configuración por defecto sería:

avrdude -c usbasp -p m168pa -U lfuse:w:0x62:m
Tags

AVR | microcontrolador | fuses